package com.grq.framework.core.prop;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serializable;

@ConfigurationProperties(prefix = "app")
@Data
public class App implements Serializable {

    /**
     * 项目名称
     * 默认为 project
     */
    private String project = "project";

    /**
     * 模块名称
     * 默认为 module
     */
    private String module = "module";

    /**
     * 应用名称
     * 默认为 project-module
     */
    private String name = project + "-" + module;

    /**
     * 版本号
     * 默认为 v0.0.0
     */
    private String version = "v0.0.0";

    /**
     * 包名
     * 默认为 com.project.module
     */
    private String basePackage = "com." + project + "." + module;

    /**
     * 本地IP
     * 默认为 127.0.0.1
     */
    private String baseIp = "127.0.0.1";

    /**
     * 是否为开发环境
     * 默认为 true
     */
    private Boolean dev = true;

    /**
     * 日志配置
     */
    private Log log = new Log();

    /**
     * 日志信息
     */
    @Data
    public class Log {
        /**
         * 日志路径
         */
        private String path = "logs/" + project;
        /**
         * 日志文件
         */
        private String file = module;
        /**
         * 日志级别
         */
        private String level = "INFO";
    }


}
